// **字符类** 是一种特殊的符号，匹配特定集合中的任何符号
// - \d:  数字字符，从 0 到 9，等价于 [0-9]
// - \s:  空白字符，包括空格、制表符、换页符等
// - \w:  字母、数字、下划线，等价于 [A-Za-z0-9_]

// **反向类**，所有**字符类**都有一个反向类
// - \D: 非数字，除 \d 以外的任何字符
// - \S: 非空白字符，除 \s 以外的任何字符
// - \W: 非单字字符

{
  let str = "+7(903)-123-45-67"
  // 查找所有数字
  console.log(str.match(/\d/g).join(''));

  // 将非数字替换位空
  console.log(str.replace(/\D/g, ""));
}

{
  // (.) 匹配任意字符，除了换行符外
  let str = "We will, we will rock you\n"
  console.log(str.match(/roc./g)); // [rock]
  console.log(str.match(/you./)); // null

  // 修饰符 s 可以让 (.) 匹配所有字符，包括换行符
  console.log(str.match(/you./s)); // [0]: you\n
  
}


// '1.2 * 3.4'.match(/{-?\d+(\.\d+)}?\s[\+\-\*\/]\s-?\d+(\.\d+)?/g)


